Amazon Linux 2023 に atop ツールをインストールして、実行されているプロセスの CPU、メモリ、ディスク I/O などのリソース使用履歴を確認してみた

Amazon Linux 2023 に atop ツールをインストールして、実行されているプロセスの CPU、メモリ、ディスク I/O などのリソース使用履歴を確認してみた

Clock Icon2024.11.09

はじめに

テクニカルサポートの 片方 です。
EC2 インスタンス内のリソース使用履歴を取得するツールである atop を使用する機会がありましたのでご紹介します。
今回は、Amazon Linux 2023 で試してみました。

atop ツールとは

後で分析できるようにリソースの使用履歴を記録するパフォーマンスモニタリングツールです。当該ツールはリアルタイムのレポートも提供し、各プロセスおよびスレッドの CPU 使用率、メモリ消費量、ディスク I/O の使用状況を取得可能です。

やってみた

インストール

AWS re:Post を参考に先ずは Amazon Linux 2023 に atop ツールをインストールします。

01

https://repost.aws/ja/knowledge-center/ec2-linux-configure-monitoring-tools

メトリクスを収集間隔をデフォルト値の 10 分から 1 分間隔に再設定して、より詳細なデータを収集します。

コマンド実行例
sh-5.2$ sudo yum -y install sysstat atop
Last metadata expiration check: 0:12:13 ago on Fri Oct 18 00:16:40 2024.
Package sysstat-12.5.6-1.amzn2023.0.3.x86_64 is already installed.
Dependencies resolved.
==================================================================================================================================================================================================================
 Package                                      Architecture                                   Version                                                    Repository                                           Size
==================================================================================================================================================================================================================
Installing:
 atop                                         x86_64                                         2.9.0-1.amzn2023                                           amazonlinux                                         218 k

Transaction Summary
==================================================================================================================================================================================================================
Install  1 Package

Total download size: 218 k
Installed size: 508 k
Downloading Packages:
atop-2.9.0-1.amzn2023.x86_64.rpm                                                                                                                                                  1.9 MB/s | 218 kB     00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                             1.2 MB/s | 218 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                          1/1
  Installing       : atop-2.9.0-1.amzn2023.x86_64                                                                                                                                                             1/1
  Running scriptlet: atop-2.9.0-1.amzn2023.x86_64                                                                                                                                                             1/1
  Verifying        : atop-2.9.0-1.amzn2023.x86_64                                                                                                                                                             1/1

Installed:
  atop-2.9.0-1.amzn2023.x86_64

Complete!
sh-5.2$ sudo sed -i 's/^LOGINTERVAL=600.*/LOGINTERVAL=60/' /etc/sysconfig/atop
sh-5.2$ sudo mkdir -v /etc/systemd/system/sysstat-collect.timer.d/
mkdir: created directory '/etc/systemd/system/sysstat-collect.timer.d/'
sh-5.2$ sudo bash -c "sed -e 's|every 10 minutes|every 1 minute|g' -e '/^OnCalendar=/ s|/10$|/1|' /usr/lib/systemd/system/sysstat-collect.timer > /etc/systemd/system/sysstat-collect.timer.d/override.conf"
sh-5.2$ sudo sed -i 's|^SADC_OPTIONS=.*|SADC_OPTIONS=" -S XALL"|' /etc/sysconfig/sysstat
sh-5.2$ sudo systemctl enable atop.service sysstat-collect.timer sysstat.service
Created symlink /etc/systemd/system/multi-user.target.wants/atop.service → /usr/lib/systemd/system/atop.service.
sh-5.2$ sudo systemctl restart atop.service sysstat-collect.timer sysstat.service
sh-5.2$

これで、インストールは完了です。非常に簡単ですね

確認してみた

確認方法としては、以下をご参考に実施してください。

https://repost.aws/ja/knowledge-center/ec2-linux-monitor-stats-with-atop
https://www.digitalocean.com/community/tutorials/atop-command-in-linux

atop コマンドを実行すると以下のように 2 つのパネルに分かれて表示されます。

  • 上のパネルにはシステムのリソースの累積使用量が表示
  • 下のパネルには各プロセスの詳細な情報が表示

02

TOP コマンドと比較

atop ツールと比べると、top コマンドでは CPU 使用率、メモリ使用率をプロセスごとに表示することは可能であるものの、ディスク I/O をプロセスごとに表示することは叶いません。
また top コマンドの過去の出力を参照するためには、別途ロギングの設定などが必要です。

03

まとめ

本ブログが皆様の参考になれば幸いです。

参考資料

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.